package com.dyy.AI_System.service;

import com.dyy.AI_System.domain.po.Departments;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 * 部门表 服务类
 * </p>
 *
 * @author dyy
 * @since 2025-10-13
 */

public interface IDepartmentsService extends IService<Departments> {
    
    /**
     * 根据部门ID获取部门名称
     * @param departmentId 部门ID
     * @return 部门名称
     */
    String getDepartmentNameById(Long departmentId);
    
    /**
     * 分页查询部门
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @param keyword 搜索关键词
     * @return 部门分页列表
     */
    IPage<Departments> pageQuery(Integer pageNum, Integer pageSize, String keyword);
    
    /**
     * 更新部门状态
     * @param id 部门ID
     * @param isActive 是否激活
     * @return 是否更新成功
     */
    boolean updateStatus(Long id, Boolean isActive);
    
    /**
     * 批量删除部门
     * @param ids 部门ID列表
     * @return 是否删除成功
     */
    boolean batchDelete(List<Long> ids);
    
    /**
     * 获取部门树结构
     * @return 部门树列表
     */
    List<Departments> getDepartmentTree();

}
